package com.qsxc.system.config.mybatis;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * 自定义baseMapper，增加了自定义方法
 *
 * @author 
 * @since 2021-04-08
 */
public interface MyBaseMapper<T> extends BaseMapper<T> {

    /**
     * 根据实体类更新记录，但是不更新schoolId.并且自动生成DRDS的Hint，从而提高数据库的更新效率
     * 适用于拆分表的updateById
     */
    int updateByIdNoSchoolId(@Param("et") T entity);

    /**
     * 根据实体类更新记录，但是不更新schoolId.并且更新字段为空的值。
     */
    int updateByIdWithNull(@Param("et") T entity);

    /**
     * 实现逻辑删除，更新status为0
     *
     * @param entity
     * @return
     */
    int deleteByIdLogic(@Param("et") T entity);
}